Target patterns controlled error management

ABSTRACT

A system and method to print grey scale or color images using fewer colors of ink than in the original image. This method distributes the error made at each point (due to the embodied approximation) to the neighbors of that point while obtaining some chosen predetermined patterns for several colors or grey levels. Getting these predetermined patterns and essentially predetermined patterns for all colors in turn reduces the anisotropic algorithmic artifacts, suppresses edge over-enhancement and allows for good performances on patches of uniform and almost uniform colors or grey levels.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to halftoning techniques in printers and, more particularly, to a system and method to print grey scale or color images using fewer colors of ink than in the original image.

2. Background Description

Most printers today can print in only a limited number of colors. Halftoning is a technique for printing a picture (or more generally displaying it on some two-dimensional medium) with small dots of a limited number of colors such that it appears to consist of many colors when viewed from a proper distance. For example, a picture of black and white dots can appear to display grey levels when viewed from some distance.

Error diffusion, as first described in "An Adaptive Algorithm for Spatial Greyscale" by R. W. Floyd and L. Steinberg, Proceeding of the SID 17/2, pp. 75-77 (1976), is a popular technique for halftoning used today and is considered to be one of the best, and the best among the techniques with similar operating time. This technique and others are reviewed in the book Digital Halftoning, MIT Press, Cambridge, Mass. (1987), by R. Ulichney which is a general reference for digital halftoning.

The operation of error diffusion basically spreads the error occurring at a given pixel across neighboring pixels. The spreading of the error is described by an ordered set of numbers called filter coefficients forming together an error filter. At each point, the input image data is combined with the diffused error and a printing decision is made according to some threshold. After Floyd and Steinberg, supra, other filters were proposed, in particular by J. F. Jarvis, C. N. Judice and W. H. Ninke in "A Survey of Techniques for the Display of Continuous Tone Pictures on Bilevel Displays", Computer Graphics and Image Processing, Vol. 5, pp. 13-40 (1976), and by P. Stucki "MECCA--A Multiple-Error Correction Computation Algorithm for Bi-Level Image Hardcopy Reproduction", IBM Res. Rep., RZ1060 (1981). Stucki also considers the problem of compensating for actual black dot sizes and shapes, which is important since the basic method assumes square black and white dots of the same size while, in practice, printed dots are not square and overlap neighboring pixels. Filter coefficients are chosen as positive in practical implementations presented so far, but negative values have been considered for special effects and for theoretical studies, for instance in "Stability of Active Binarization Processes", Opt. Commun., 60, pp. 353-358 (1986), by M. Broja, R. Eschbach, and O. Bryngdahl.

Error diffusion has been further enriched, for instance, by varying the threshold in order to cluster dots or to reduce artifacts, for instance, in "Halftoning Techniques Using Error Correction", Proceedings of the SID, Vol. 27/4, pp. 305-308 (1986), by G. S. Fawcett and G. F. Schrack, in U.S. Pat. No. 5,055,942 to R. L. Levien, in U.S. Pat. No. 5,150,429 to R. L. Miller and C. M. Smith, or in U.S. Pat. No. 5,325,211 to R. Eschbach. Error diffusion has also been enriched by varying the filter according to grey regions and compensating for the problems hereby introduced, in order to reduce artifacts, for instance in "Computer-generated Holograms with Pulse-density Modulation", J. Opt. Soc. Al (1984) 5-10, by R. Hauck and O. Bryngdhal, or in "Reduction of Artifacts in Error Diffusion by Means of Input-dependent Weights", J. El. Imag. 2(4) (1993) 352-358, by R. Eschbach. These further enrichments, however, fail to correct all problems associated with error diffusion methods.

In all variations of error diffusion, the pixels are processed one at a time following some sequential raster ordering. Because of this sequential processing, the resulting operation is asymmetric, in the sense that it treats pixels differently depending on where they are in the sequential ordering. The results of this are anisotropic algorithmic artifacts, resembling "worms", occurring in the halftoned picture. This is one of the major drawbacks of error diffusion. Several partial solutions have been proposed to this major problem, in particular in the references cited above.

Error diffusion does not allow for good representation for most uniform greys and, in particular, fails to generate most of the pleasant periodic patterns generated by passive methods which use a dithering mask. Furthermore, periodic patterns are usually rather avoided, as discussed for instance in "Limit Cycle Behavior of Error Diffusion", Proceedings ICIP 94 Vol. 2, pp. 1041-1045 (1994), by Z. Fan and R. Eschbach, because they are hard to mix with aperiodic textures which contain worms.

The way uniform greys are rendered is mostly unpredictable when using error diffusion methods as described in the prior art. This induces bad representation of most uniform greys which in turn reduces contour definition and forces a trade-off between contour definition and trying to suppress undesirable artifacts such as lines at the boundary of an otherwise almost uniformly colored region, as reported for instance in "Error-diffusion Algorithm with Edge Enhancement", J. Opt. Soc. Am., A8, pp. 1844-1850 (1991), by R. Eschbach and K. T. Knox, or in "Threshold Modulation in Error Diffusion", J. El. Imag., 2(3), pp. 185-192 (1993), by K. T. Knox and R. Eschbach. The unpredictability of the rendering of uniform greys also makes it harder to calibrate according to printer performances as discussed for instance in "Measurement of Printer Parameters for Model-based Halftoning", J. El. Imag., 2(3), pp. 193-204 (1993), by T. N. Pappas, C. K. Dong, and D. L. Neuhoff or in "Measurement based Evaluation of a Printer Dot Model for Halftone Algorithm Tone Correction", J. El. Imag., 2(3), pp. 205-212 (1993), by C. J. Rosenberg, making it preferable to use model-based error diffusion as described for instance in "Printer Models and Error Diffusion", IEEE Transactions on Image Processing, 4(1), pp. 66-80 (1995), by T. N. Pappas and D. L. Neuhoff.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a form of error management in printer outputs which allows one to correct the problems recognized in the prior art.

Providing error diffusion which allows representation of uniform greys and periodic patterns and providing a predictable rendering of uniform greys solves most problems previously described. This method goes beyond "error diffusion" and provides error management which involves a combination of diffusion and anti-diffusion of the error, based on the discovery that although negative filter coefficients are to be avoided in simple implementations, they can be quite beneficial if handled with care and are used only for selected greys or colors. Also, instead of using just one or several error filters adjusted to grey areas or color families as has been done before, we construct essentially as many filters as colors or greys to be rendered. The collection of filters is obtained by interpolating between a few of them which are constructed to give good results on some selected greys or colors. Furthermore, the threshold is adjusted to generate the best results.

The filter weights and the threshold are modified depending on the printer characteristics. The filter weights and threshold are also modified according to color mixing information and the decisions to print a dot or not to print a dot on previously processed pixels.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:

FIG. 1 is a flow chart of the architecture of the system which implements the preferred embodiment of the invention; and

FIG. 2 is a diagram illustrating an arrangement of coefficients for the error filter in the architecture of FIG. 1.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

Referring now to the drawings, and more particularly to FIG. 1, there is shown the architecture of the system which implements the method according to the preferred embodiment of the invention. All data about some Continuous Tone (CT) source image (I) is stored in the image Random Access Memory (RAM) 20. In the preferred embodiment of an image printed on paper, the data from the image (I) is acquired using a scanner 10 and passed through color converter 11.

In the case of a color image, a Red, Green, Blue (RGB) splitter is used to decompose the image into three monochromatic components, followed usually by a RGB-YMCK (Yellow, Magenta, Cyan, Black (generally express as "K")) converter if the purpose of the invention is to print on paper. All these operations are done at the level of the color converter 11. However, if the image is acquired as a table of data, or is in grey scale, or the output is some form of screen rather than paper, part of the equipment shown in FIG. 1 is not needed in an implementation.

The output of the image RAM 20 is an input signal i for each pixel (m, n) of I, where m and n refer respectively to the horizontal and vertical coordinates of the pixel being treated. In the case of a color image, i also depend on the component, say YMCK, being treated, but in the sequel, grey scale images are assumed, and we indicate modifications for color when needed. The invention makes a decision to print or not to print a black dot at the pixel (m, n) of the printed image I'. In the case of color images, the decision is to print a color dot (in the limit set of colors RGB or YMCK) or not. All decisions are made to solve the problems previously mentioned. In the case of a grey scale image, i=-1 represents white, i=+1 represents black, and a value between -1 and +1 represents intermediate shades of grey.

The signal i is multiplied in the scaler 30 with a scaling factor α_(p),i =h(p,i) which depends on the printer (or screen) characteristics p determined at 1 and on i. The scaling α_(p),i is determined by the function h and serves to compensate for the non-idealities in the printing process. Two types of non-linearities are treated by such scaling. First, the dots are not square. Thus, the ink in one pixel can overlap other pixels. Such overlap can be calculated or approximated and the corresponding correction determined. Second, in xerographic printers, the printed dots sizes have a specific probability distribution, depending in particular on whether the printed dots are isolated. Such probability can be approximated to determine h. One way to determine the function h is as follows. For a series of grey levels G_(k) giving nice predictable patterns, one measures the actual printed renderings, which yields grey levels G_(k) '. h is such that α_(P),G.sbsb.k_(') G_(k) '=G_(k), the other values being determined by interpolation.

The scaled input signal α_(p),i i is used in four places. It is first of all used in the decision block 50, to decide whether to print a black dot or not after adding the propagated errors in summer 40. Next, it is used in calculator 80 in conjunction with the printing decisions D_(j) stored in 60 and with the printer characteristics p to determine the weights w_(k) =f(α_(p),i i,D_(j),p) used to weight the past errors. It is also used in threshold generator 100, in conjunction with the printer characteristics p, and the array 60 of previous printing decisions D_(j), to determine the threshold t=g(α_(p),i i,p,D_(j)) for the output at (m,n) (in the color under consideration in case of a color picture). For instance, if no clustering is intended, g can be chosen as constant. In the case of a color picture, t will also depend on color mixing information c which is determined in function block 90. Finally, α_(p),i i is used in error calculation 61 (after being added to y in summer 40) in conjunction with the printer characteristics p and the array 60 of previous printing decisions D_(j), to determine the errors e_(j) on printing decisions until the present time. In the preferred embodiment, the error e_(j) is calculated in error calculator 61 as y+α_(p),i i-D_(j).

The propagated errors added to α_(p),i i in summer 40 are determined in calculator 70 as y=v(w_(k),e_(j)), in accordance to the error weights w_(k) from weighting calculator 80 and an array of past errors generated by error calculator 61. For instance, the function v can be chosen to be a weighted sum (y=Σ_(k) w_(k) ej-k) such as in usual error diffusion.

The weights w_(k) =f(α_(p),i i,D_(j),p) are determined in weight calculator 80 according to α_(p),i i the printing decisions D_(j) and the printer characteristics p so as to give predetermined patterns for a specific set of greys. This set of greys is chosen such that a pleasant periodic or blue noise-like pattern exists with the same average grey level as the unscaled input i. These patterns might contain clusters if preferable according to the printer characteristic p. The choices of weights are made in advance to generate this pattern or something close to it. For instance, in the dispersed case, where no cluster formation is intended, an example where the weights only depend on the scaled input α_(p),i i is given as shown in Table 1 below. The threshold t is chosen to be zero. The correspondence between the w_(k) s and a₁, a₂, a₃, and a₄ for the example in Table 1 is given in FIG. 2.

                  TABLE 1                                                          ______________________________________                                         α.sub.p,i i                                                                       a.sub.4 a.sub.3     a.sub.2                                                                              a.sub.1                                     ______________________________________                                         0         1/42    2/42        4/42  8/42                                       ±1/8  0.05    0.056       0.086 0.166                                       ±1/5  0.024   0.022       0.114 0.204                                       ±1/4  0.001   0.061       0.081 0.215                                       ±1/3  -0.086  -0.18       0.298 0.35                                        ±3/8  0.02    -0.06       0.12  0.36                                        ±2/5  0.124   -0.092      0.082 0.396                                       ±4/9  0.104   -0.004      -0.008                                                                               0.42                                        ±1/2  0.01    -0.016      0.102 0.318                                       ±3/5  0.072   -0.018      0.146 0.172                                       ±5/8  0.08    -0.096      0.184 0.244                                       ±2/3  -0.01   0.042       0.122 0.182                                       ±3/4  -0.092  0.028       0.174 0.188                                       ±7/9  -0.084  0.076       0.102 0.288                                       ±15/16                                                                               -0.012  0.02        0.134 0.204                                       ______________________________________                                    

The weights in Table 1 are chosen so that all the α_(p),i i values in the left column yield nice patterns of greys. It is one of the advantages of this invention to be able to generate that many nice, uniform grey patterns by error diffusion. The error weights for the grey levels not listed in the table are computed by some interpolation method, for instance linear interpolation between two entries in the table.

The threshold t is also chosen to generate the proper pattern given α_(p),i i. The operation yielding t in threshold generator 100 is by means of either a simple linear function or, for better performance, a table lookup allowing clustering of points if needed according to α_(p),i i and p, with preference for some shapes of clusters, and proper color combination according to color mixing function 90. Again, Some predetermined colors are chosen so that the color information c generated by color mixing function 90 leads to predetermined periodic color patterns by adjusting t besides w_(i) =f(α_(p),i i,D_(j),p). For example, if no clustering is desired, t can be chosen to be constant. The sum of y and α_(p),i i is compared with the threshold t in decision block 50 to generate the printing decision D. D=1 if y+α_(p),i i>t, and D=-1 otherwise. D is then sent function block 51 to instruct the printer to print a black dot (D=1) or not (D=-1).

The technique of the invention is to use essentially as many filters as there are levels of grey or numbers of colors to be halftoned. The filters are chosen to give a nice (periodic or close to periodic) patterns at several grey levels, G_(i). The patterns chosen are such that the nonperiodic patterns which correspond to the other grey levels can be combined nicely with the periodic (or close to periodic) patterns corresponding to the grey levels, G_(i). If desired, the threshold may be modulated to generate clustered dots.

While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. 

Having thus described our invention, what we claim as new and desire to protect by Letters Patent is as follows:
 1. An error management method for printing grey scale or color images using fewer colors of ink than in an original image comprising the steps of:storing data of a continuous tone source image (I) in an image Random Access Memory (RAM), an output from the image RAM being an input signal i for each pixel (m,n) of I, where m and n refer respectively to horizontal and vertical coordinates of the pixel being treated; computing weights w_(k) as a function of a scaled input signal ai and printer characteristics p and previous printing decisions D_(j) ; generating a threshold t as a function of the scaled input signal αi, printer characteristics p, and previous printing decisions D_(j) ; calculating an error e_(j) as a function of weights w_(k) and previous errors added to the scaled input signal αi less previous printing decisions D_(j) ; generating a printer decision signal based on the threshold t and the function of weights w_(k) and previous errors added to the scaled input signal αi; and outputting printer decision signals to a printer to print a grey scale or color image.
 2. The error management method for printing grey scale or color images recited in claim 1 further comprising the step of multiplying the input signal i with a scaling factor a determined by a function of printer characteristics p and the input signal i to compensate for nonidealities in a printing process.
 3. The error management method of printing grey scale or color images recited in claim 1 further comprising the step of scanning an original image to generate the data of a continuous tone source image (I) which is stored in the image RAM.
 4. The error management method of printing grey scale or color images recited in claim 1 further comprising the step of printing the continuous tone source image (I) in response to the printer decision signals.
 5. The error management method of printing grey scale or color images recited in claim 1 further comprising the steps of:scanning an original image to generate the data of a continuous tone source image (I) which is stored in the image PAM; and printing the continuous tone source image (I) in response to the printer decision signals.
 6. A document processing system for implementing error management for printing a printer grey scale or color images using fewer colors of ink than in an original image, comprising:an image Random Access Memory (RAM) storing data of a continuous tone source image (I), an output from the image RAM being an input signal i for each pixel (m,n) of I, where m and n refer respectively to horizontal and vertical coordinates of the pixel being treated; means for computing weights w_(k) as a function of a scaled input signal αi and printer characteristics p and previous printing decisions D_(j) ; means for generating a threshold t as a function of the scaled input signal αi, printer characteristics p, and previous printing decisions D_(j) ; means for calculating an error e_(j) as a function of weights w_(k) and previous errors added to the scaled input signal αi less previous printing decisions D_(j) ; means for generating a printer decision signal based on the threshold t and the function of weights w_(k) and previous errors added to the scaled input signal αi; and means for outputting printer decision signals to a printer to print a grey scale or color image.
 7. The document processing system recited in claim 6 further comprising means for multiplying the input signal i with a scaling factor α determined by a function of printer characteristics p and the input signal i to compensate for nonidealities in a printing process.
 8. The document processing system recited in claim 6 further comprising a scanner for generating the data of a continuous tone source image (I) which is stored in the image RAM.
 9. The document processing system recited in claim 6 further comprising a printer responsive to said printer decision signals to reproduce the continuous tone source image (I).
 10. The document processing system recited in claim 6 further comprising:a scanner for generating the data of a continuous tone source image (I) which is stored in the image RAM; and a printer responsive to said printer decision signals to reproduce the continuous tone source image (I). 